297f8058631abd131d87e25fdccd78e8057d8c37,algoliasearch/src/test/java/com/algolia/search/saas/IndexTest.java,IndexTest,testKeepAlive,#,605
Before Change
for (int i = 0; i < nbTimes; i++) {
startEndTimeArray[0] = System.nanoTime();
final int finalIter = i;
index.searchAsync(new Query("Francisco"), new CompletionHandler() {
@Override
public void requestCompleted(JSONObject content, AlgoliaException error) {
if (error == null) {
startEndTimeArray[1] = System.nanoTime();
final long iterDiff = startEndTimeArray[1] - startEndTimeArray[0];
final String iterString = String.format("iteration %d: %d < %d", finalIter, iterDiff, firstDurationNanos);
// And successful fastest subsequent calls
assertEquals(1, content.optInt("nbHits"));
assertTrue("Subsequent calls should be fastest than first (" + iterString + ")", startEndTimeArray[1] - startEndTimeArray[0] < firstDurationNanos);
} else {
fail(error.getMessage());
}
signal2.countDown();
}
});
}
assertTrue("No callback was called", signal2.await(Helpers.wait, TimeUnit.SECONDS));
}
After Change
for (int i = 0; i < nbTimes; i++) {
startEndTimeArray[0] = System.nanoTime();
final int finalIter = i;
AssertCompletionHandler iterationHandler = new AssertCompletionHandler() {
@Override
public void doRequestCompleted(JSONObject content, AlgoliaException error) {
if (error == null) {
startEndTimeArray[1] = System.nanoTime();
final long iterDiff = startEndTimeArray[1] - startEndTimeArray[0];
final String iterString = String.format("iteration %d: %d < %d", finalIter, iterDiff, firstDurationNanos);
// And successful fastest subsequent calls
assertEquals(1, content.optInt("nbHits"));
assertTrue("Subsequent calls should be fastest than first (" + iterString + ")", startEndTimeArray[1] - startEndTimeArray[0] < firstDurationNanos);
} else {
fail(error.getMessage());
}
}
};
handler.addInnerHandler(iterationHandler);
index.searchAsync(new Query("Francisco"), iterationHandler);
}
handler.checkAssertions();
}